home *** CD-ROM | disk | FTP | other *** search
- package symantec.itools.db.awt;
-
- import java.awt.Event;
- import java.awt.TextComponent;
- import java.io.IOException;
- import symantec.itools.db.pro.ProjBinder;
- import symantec.itools.db.pro.ProjLink;
- import symantec.itools.db.pro.RelationView;
- import symantec.itools.db.pro.RelationViewMetaData;
- import symjava.sql.SQLException;
-
- public class TextField extends java.awt.TextField implements ProjLink {
- private ProjBinder m_ProjBinder;
- private boolean m_DynamicUpdate = false;
- private boolean m_DynamicUpdateOverride = true;
- private boolean m_BinderDetermines = true;
- private String m_BinderData;
- private String m_ScreenData;
- private int m_treatBlankAs;
-
- public TextField() {
- this.m_BinderData = new String();
- this.m_ScreenData = new String();
- }
-
- public TextField(int var1) {
- super(var1);
- this.m_ScreenData = new String();
- this.m_BinderData = new String();
- }
-
- public TextField(String var1) {
- super(var1);
- this.m_ScreenData = new String();
- this.m_BinderData = new String();
- }
-
- public TextField(String var1, int var2) {
- super(var1, var2);
- this.m_ScreenData = new String();
- this.m_BinderData = new String();
- }
-
- public void init(ProjBinder var1) {
- this.m_ProjBinder = var1;
- this.setEditable(this.m_ProjBinder);
- }
-
- public void setBinding(RelationView var1, String var2) {
- int var3 = 0;
- int var4 = 0;
-
- try {
- RelationViewMetaData var5 = var1.getMetaData();
- var3 = var1.findProjByName(var2);
- var4 = var5.getColumnType(var3);
- if (var4 == 91 || var4 == 92 || var4 == 93) {
- this.m_DynamicUpdateOverride = false;
- }
-
- var1.bindProj(var3, this);
- } catch (SQLException var6) {
- this.raiseException("SQLException from setBinding: " + ((Throwable)var6).getMessage());
- }
- }
-
- public void setDynamicUpdate(boolean var1) {
- this.m_DynamicUpdate = var1;
- }
-
- public void setTreatBlankAs(String var1) {
- if ((new String(var1)).toUpperCase().equals("DEFAULT")) {
- this.m_treatBlankAs = 0;
- } else if ((new String(var1)).toUpperCase().equals("NULL")) {
- this.m_treatBlankAs = 1;
- } else {
- if ((new String(var1)).toUpperCase().equals("BLANK")) {
- this.m_treatBlankAs = 2;
- }
-
- }
- }
-
- public void notifyDataChange(ProjBinder var1) {
- this.m_BinderData = "";
- if (var1 != null) {
- this.m_ProjBinder = var1;
-
- try {
- if (var1.getRelationView().getCurrentRecordState() != 105 && var1.isReadable() && !var1.isNull()) {
- this.m_BinderData = var1.getStringValue();
- }
- } catch (SQLException var3) {
- this.raiseException("SQLException from TextField.notifyDataChange.getString: " + ((Throwable)var3).getMessage());
- } catch (IOException var4) {
- this.raiseException("IOException from TextField.notifyDataChange.getString: " + ((Throwable)var4).getMessage());
- }
-
- if (this.m_BinderData == null) {
- this.m_BinderData = new String();
- }
-
- this.m_ScreenData = ((TextComponent)this).getText();
- if (!this.m_BinderData.equals(this.m_ScreenData)) {
- this.m_ScreenData = this.m_BinderData;
- ((TextComponent)this).setText(this.m_ScreenData);
- }
-
- if (this.m_BinderDetermines) {
- this.setEditable(this.m_ProjBinder);
- }
-
- }
- }
-
- public boolean lostFocus(Event var1, Object var2) {
- try {
- this.notifySetData(this.m_ProjBinder);
- } catch (SQLException var4) {
- this.raiseException("SQLException from TextField.notifySetData: " + ((Throwable)var4).getMessage());
- }
-
- return super.lostFocus(var1, var2);
- }
-
- boolean notifyInputChanged(String var1) {
- if (!this.m_ScreenData.equals(var1)) {
- this.m_ScreenData = var1;
- }
-
- try {
- if (!this.m_BinderData.equals(this.m_ScreenData) && this.m_ProjBinder.getRelationView().getCurrentRecordState() != 105 && this.m_ProjBinder.getRelationView().getCurrentRecordState() != 103 && this.m_ProjBinder.getRelationView().getCurrentRecordState() != 104) {
- this.m_BinderData = this.m_ScreenData;
-
- try {
- this.m_ProjBinder.setValueFromString(this.m_ScreenData, 0, this.m_treatBlankAs);
- } catch (IOException var3) {
- this.raiseException("IOException from TextField.notifyInputChange: " + ((Throwable)var3).getMessage());
- return false;
- }
- }
-
- return true;
- } catch (SQLException var4) {
- this.raiseException("SQLException from TextField.notifyInputChange: " + ((Throwable)var4).getMessage());
- return false;
- }
- }
-
- public boolean notifySetData(ProjBinder var1) throws SQLException {
- return this.notifyInputChanged(((TextComponent)this).getText());
- }
-
- public boolean handleEvent(Event var1) {
- if (this.m_DynamicUpdate && this.m_DynamicUpdateOverride) {
- try {
- this.notifySetData(this.m_ProjBinder);
- } catch (SQLException var3) {
- this.raiseException("SQLException from TextField.notifySetData: " + ((Throwable)var3).getMessage());
- }
- }
-
- return super.handleEvent(var1);
- }
-
- void setEditable(ProjBinder var1) {
- boolean var2 = false;
-
- try {
- if (var1 != null) {
- RelationView var3 = var1.getRelationView();
- if (var3 != null && var3.getCurrentRecordState() != 105) {
- var2 = var1.isWritable();
- }
- }
- } catch (SQLException var4) {
- this.raiseException("SQLException from setEditable: " + ((Throwable)var4).getMessage());
- }
-
- super.setEditable(var2);
- }
-
- public void setEditable(boolean var1) {
- this.m_BinderDetermines = var1;
- super.setEditable(var1);
- }
-
- void raiseException(String var1) {
- System.out.println(var1);
- }
- }
-